home *** CD-ROM | disk | FTP | other *** search
- <!-- #INCLUDE FILE="../include/utils.runtime5.asp" -->
- <!-- #INCLUDE FILE="../include/mscommerce.runtime5.asp" -->
- <SCRIPT runat="server" language="JScript">
-
- // *****************************************************************************
- //
- // actions/mscommerce.runtime5.asp
- //
- // Dynamic Link runtime support for Microsoft Commerce server.
- //
- // COPYRIGHT (c) 1999-2000 Adobe Systems Incorporated. All rights reserved.
- //
- // -----------------------------------------------------------------------------
-
-
- // *****************************************************************************
- // Commom Setup / Redirection
- // *****************************************************************************
-
- // -----------------------------------------------------------------------------
- // SetupMSCommerce
- //
- // This function adds hidden fields for FinishMSCommerceAction(), below.
- // -----------------------------------------------------------------------------
-
-
- function SetupMSCommerce( successDest )
- {
- var thisURL = Request( "URL" ) + "?" + Request( "QUERY_STRING" );
- Response.Write( "<input type=\"hidden\" name=\"$return\" value=\"" + thisURL + "\">" );
- Response.Write( "<input type=\"hidden\" name=\"$success_dest\" value=\"" + successDest + "\">" );
- }
-
-
- // -----------------------------------------------------------------------------
- // FinishMSCommerceAction
- //
- // After the action has completed, this function either redirects back to the
- // caller or to $success_dest.
- // -----------------------------------------------------------------------------
-
- function FinishMSCommerceAction()
- {
- var dest = Request( "$success_dest" );
- var nextPage = "";
- if(( 0 < dest.Count )&&( 0 < String( dest ).length )){ // to avoid "undefined"
- nextPage = absolutePath( Request( "$return" ), dest );
- }else{
- nextPage = Request( "$return" );
- }
- Response.Redirect( addArgs( nextPage, URLArgs() ));
- }
-
-
- // *****************************************************************************
- // Add To Cart
-
- // -----------------------------------------------------------------------------
- // SetupAddToCart
- // -----------------------------------------------------------------------------
-
- function SetupAddToCart( contentSource, allRecords, SKU, successDest )
- {
- // Close parent <input>
- Response.Write(">");
-
- SetupMSCommerce( successDest );
- Response.Write( "<input type=\"hidden\" name=\"SKU\" value=\"" + SKU + "\">" );
-
- // Protect original close of parent <input>
- Response.Write( "<" );
- Response.Write( "wbr" );
- }
-
-
- //-----------------------------------------------------------------------------
- // AddToCart
- //-----------------------------------------------------------------------------
-
- function AddToCart()
- {
- if( Request( "SKU" ).Count ){
- SKU = Request( "SKU" );
- if( UseFakeCommerce() ){
- for( i = 0; i < fakeOrderForm.items.data.length; i++ ){
- if( fakeOrderForm.items.data[i].SKU == SKU ){
- fakeOrderForm.items.data[i].Quantity++;
- break;
- }
- }
- if( i == fakeOrderForm.items.data.length ){
- fakeOrderForm.items.data[i] = new Object();
- fakeOrderForm.items.data[i].SKU = SKU;
- fakeOrderForm.items.data[i].Quantity = 1;
- }
- fakeOrderForm.UpdateBatch();
- }else{
- AssertOrderForm();
- var found = false;
- for( var i = 0; i < mscsOrderForm.items.Count; i++ ){
- if( mscsOrderForm.items( i ).sku == SKU ){
- mscsOrderForm.items( i ).quantity++;
- found = true;
- break;
- }
- }
- if( !found ) mscsOrderForm.AddItem( SKU, 1, 0 );
- UpdateOrderForm();
- }
- }
- FinishMSCommerceAction();
- }
-
-
- //*****************************************************************************
- // Purchase Now
-
- //-----------------------------------------------------------------------------
- // SetupPurchaseNow
- //-----------------------------------------------------------------------------
-
- function SetupPurchaseNow(contentSource, allRecords, successDest)
- {
- // Close parent <input>
- Response.Write( ">" );
-
- SetupMSCommerce( successDest );
-
- // Protect original close of parent <input>
- Response.Write( "<" );
- Response.Write( "wbr" );
- }
-
-
- //-----------------------------------------------------------------------------
- // PurchaseNow
- //-----------------------------------------------------------------------------
-
- function PurchaseNow()
- {
- if (UseFakeCommerce()) {
- Session("FakeShoppingBasket") = "";
- fakeOrderForm = null;
- } else {
- AssertOrderForm();
- mscsOrderFormStorage.DeleteData(null, mscsOrderForm);
- }
-
- FinishMSCommerceAction();
- }
-
-
- // *****************************************************************************
- // Update Totals
-
- // -----------------------------------------------------------------------------
- // SetupUpdateTotals
- // -----------------------------------------------------------------------------
-
- function SetupUpdateTotals( contentSource, allRecords )
- {
- // Close parent <input>
- Response.Write( ">" );
-
- SetupMSCommerce( "" );
-
- // Protect original close of parent <input>
- Response.Write( "<" );
- Response.Write( "wbr" );
- }
-
-
- // -----------------------------------------------------------------------------
- // UpdateTotals
- // -----------------------------------------------------------------------------
-
- function UpdateTotals()
- {
- var args = unescape( String( Request.Form )).split( "&" );
- for( var i = 0; i < args.length; i++ ){
- var qtyArray = 0;
- var qty = 0;
- var equal = args[i].indexOf( "=" );
- if( args[i].indexOf( "Quantity[" ) == 0 ){
- qtyArray = Number( args[i].substr( 9, equal - 10 ));
- qty = Number( args[i].substr( equal + 1, args[i].length ));
- }else if( args[i].indexOf( "Quantity" ) == 0 ){
- qtyArray = 1;
- qty = Number( args[i].substr( equal + 1, args[i].length ));
- }else{
- qtyArray = 0;
- }
-
- if( 0 < qtyArray ){
- if( 0 < qty ){
- if( UseFakeCommerce() ){
- fakeOrderForm.items.data[qtyArray-1].Quantity = qty;
- }else{
- mscsOrderForm.items( qtyArray - 1 ).Quantity = qty;
- }
- }else{
- if( UseFakeCommerce() ){
- fakeOrderForm.items.data[qtyArray-1].deleted = true;
- }else{
- mscsOrderForm.items( qtyArray - 1 ).Quantity = 0;
- }
- }
- }
- }
- if( UseFakeCommerce() ){
- fakeOrderForm.UpdateBatch();
- }else{
- for( var i = mscsOrderForm.items.Count - 1; 0 <= i; i-- ){
- if( mscsOrderForm.items( i ).quantity == 0 ){
- mscsOrderForm.items.Delete( i );
- }
- }
- UpdateOrderForm();
- }
- FinishMSCommerceAction();
- }
-
-
- // *****************************************************************************
- // Dispatch
- //
- // if( 0 <= String( Request.ServerVariables( "PATH_TRANSLATED" )).indexOf( "mscommerce.actions5.asp" )){
- // var orderForm = GetOrderForm( "Adobe" );
- //
- // if(( 0 < Request( "$AddToCart" ).Count )||( 0 < Request( "$AddToCart.x" ).Count )){
- // AddToCart();
- //
- // }else if(( 0 < Request( "$PurchaseNow" ).Count )||( 0 < Request( "$PurchaseNow.x" ).Count )){
- // PurchaseNow();
- // }else if(( 0 < Request( "$UpdateTotals" ).Count )||( 0 < Request( "$UpdateTotals.x" ).Count )){
- // UpdateTotals();
- // }
- // }
- //
-
- </SCRIPT>
-
- <SCRIPT runat="server" language="VBScript">
-
-
- ' TODO: port to Jscript above.
- ' *****************************************************************************
- ' Dispatch
-
- if InStr(Request.ServerVariables("PATH_TRANSLATED"), "mscommerce.actions5.asp") then
-
- set orderForm = GetOrderForm( "" )
-
- if Request("$AddToCart").Count > 0 or Request("$AddToCart.x").Count > 0 then
- AddToCart
- elseif Request("$PurchaseNow").Count > 0 or Request("$PurchaseNow.x").Count > 0 then
- PurchaseNow
- elseif Request("$UpdateTotals").Count > 0 or Request("$UpdateTotals.x").Count > 0 then
- UpdateTotals
- else ' default action
- UpdateTotals
- end if
-
- end if
-
- </SCRIPT>
-
-
-